
define(["jquery","cookie"],function($){
    // 通过面向对象的方式
    function loadHeaderFooter(){
        // 初始化页面
        this.init();
        // 配置cookie
        $.cookie.json = true;
    }

    $.extend(loadHeaderFooter.prototype,{
        // 初始化
        init(){
            
            this.loadHeader();
            this.loadFooter();
            
        },
        // 加载头部
        loadHeader(){
            // $.proxy(callback,this指向);修改this指向
            $.get("/html/nav_footer/header.html",$.proxy(function(data){
                $("header").html(data);
                // 头部交互函数执行
                this.headerFormHandler();
                // 检查用户名是否登录
                this.userLogin();
                // 读取cookie中的数据，有几条渲染到购物车里面
                this.readCookieData();
                
            },this));
        },
        // 加载尾部
        loadFooter(){
            $("footer").load("/html/nav_footer/footer.html");
        },
        // 头部交互的函数
        headerFormHandler(){
            // 给表单绑定事件
            $("#headerSearch").on("keyup",this.searchHandler);
            // 给按钮添加事件处理
            $(".search-btn").on("click",this.searchButton);
            // 搜索表单下面的快捷搜索
            $(".search-bottom").click(this.quickSearch);
            // 点击购物车跳转页面
            $(".cart").on("click",this.goTocartPageHander);
            // 返回顶部
            $(".back-top").on("click",this.callBack);
        },
        // 请求search数据
        searchHandler(){
            const _searchvalue = $(this).val(),
            _url = `https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=${_searchvalue}&cb=?`;
            $.getJSON(_url,(data) => {
                let _html = '';
                data.s.forEach(function(curr){
                    _html += `<li><a href="">${curr}</a></li>`;
                });
                $(".search-result").html(_html);
                _html ? $(".search-result").removeClass("active") :  $(".search-result").addClass("active");
            })
        },
        callBack(){
           const _scrollTop = $(window).scrollTop();
           if(_scrollTop >= 500){
               $("html,body").animate({scrollTop:0},1000);
           }
           return false;
        },
        // 搜索按钮事件处理函数
        searchButton(){
            let _val = $("#headerSearch").val();
            $(".search-result").addClass("active");
            alert("你搜索的内容是：" + _val);
        },
        userLogin(){
            const user = $.cookie("Username");
            if(user){
                const
                html = `<div>"欢迎："${user}<a style="padding:5px 10px;margin-left:10px;background:#fff;color:#000;border:1px solid #000;" class="outLogin" href="javascript:void(0);">退出</a></div>`
                $(".outLogin").css({display:"none"});
                $(".login").html(html).css({display:"block"});
            }
            // 退出登录按钮
            $(".outLogin").on("click",this.outLogin);
        },
        outLogin(){
            $(".outLogin").css({display:"block"});
            $(".login").css({display:"none"});
            $.cookie("Username","",{path:"/"});
        },
        // 快捷函数处理
        quickSearch(ev){
            if(ev.target.nodeName === "A"){
                $("#headerSearch").val($(ev.target).text());
            }
        },
        //读取cookie中的数据
        readCookieData(){
            const cart = $.cookie("cart") || [];
            $(".cart i").text(cart.length);
        },
        //点击购物车跳转页面
        goTocartPageHander(){
            location.href = "/html/cart.html";
        }
    })

    new loadHeaderFooter();
})
